package com.kws.system.domain.info;

import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <b>QueryInvoiceManagementInfo</b>
 *
 * @description: QueryInvoiceManagementInfo <br>
 * @date: 2024/11/19 17:53 <br>
 * @author: lhm <br>
 * @version: 1.0 <br>
 */
public class QueryInvoiceManagementInfo {
    @ApiModelProperty(value = "主键ID")
    private Long id;

    @ApiModelProperty(value = "商户ID")
    private Long companyId;

    @ApiModelProperty(value = "销售方名称")
    private String companyName;

    @ApiModelProperty(value = "合同编号")
    private String contractNo;

    @ApiModelProperty(value = "项目ID")
    private Long itemId;

    @ApiModelProperty(value = "项目名称")
    private String itemName;

    @ApiModelProperty(value = "购买方ID")
    private Long purchaserId;

    @ApiModelProperty(value = "购买方名称")
    private String purchaserName;

    @ApiModelProperty(value = "发票类型：0-普通发票，1-增值税专用发票")
    private String invoiceType;

    @ApiModelProperty(value = "开票日期")
    private Date makeInvoiceTime;

    @ApiModelProperty(value = "服务名称")
    private String serverName;

    @ApiModelProperty(value = "规格型号")
    private String specificationsAndModels;

    @ApiModelProperty(value = "单位")
    private String unit;

    @ApiModelProperty(value = "数量")
    private Integer number;

    @ApiModelProperty(value = "单价")
    private Integer unitPrice;

    @ApiModelProperty(value = "金额")
    private BigDecimal amount;

    @ApiModelProperty(value = "税率")
    private Integer taxRate;

    @ApiModelProperty(value = "税额")
    private BigDecimal amountPayable;

    @ApiModelProperty(value = "税价合计")
    private BigDecimal total;

    @ApiModelProperty(value = "发票地址")
    private String invoiceUrl;

    @ApiModelProperty(value = "创建用户")
    private String createUser;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getCompanyId() {
        return companyId;
    }

    public void setCompanyId(Long companyId) {
        this.companyId = companyId;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getContractNo() {
        return contractNo;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    public Long getItemId() {
        return itemId;
    }

    public void setItemId(Long itemId) {
        this.itemId = itemId;
    }

    public String getItemName() {
        return itemName;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public Long getPurchaserId() {
        return purchaserId;
    }

    public void setPurchaserId(Long purchaserId) {
        this.purchaserId = purchaserId;
    }

    public String getPurchaserName() {
        return purchaserName;
    }

    public void setPurchaserName(String purchaserName) {
        this.purchaserName = purchaserName;
    }

    public String getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(String invoiceType) {
        this.invoiceType = invoiceType;
    }

    public String getMakeInvoiceTime() {
        return DateUtil.format(makeInvoiceTime, DatePattern.NORM_DATETIME_FORMATTER);
    }

    public void setMakeInvoiceTime(Date makeInvoiceTime) {
        this.makeInvoiceTime = makeInvoiceTime;
    }

    public String getServerName() {
        return serverName;
    }

    public void setServerName(String serverName) {
        this.serverName = serverName;
    }

    public String getSpecificationsAndModels() {
        return specificationsAndModels;
    }

    public void setSpecificationsAndModels(String specificationsAndModels) {
        this.specificationsAndModels = specificationsAndModels;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public Integer getNumber() {
        return number;
    }

    public void setNumber(Integer number) {
        this.number = number;
    }

    public Integer getUnitPrice() {
        return unitPrice;
    }

    public void setUnitPrice(Integer unitPrice) {
        this.unitPrice = unitPrice;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public Integer getTaxRate() {
        return taxRate;
    }

    public void setTaxRate(Integer taxRate) {
        this.taxRate = taxRate;
    }

    public BigDecimal getAmountPayable() {
        return amountPayable;
    }

    public void setAmountPayable(BigDecimal amountPayable) {
        this.amountPayable = amountPayable;
    }

    public BigDecimal getTotal() {
        return total;
    }

    public void setTotal(BigDecimal total) {
        this.total = total;
    }

    public String getInvoiceUrl() {
        return invoiceUrl;
    }

    public void setInvoiceUrl(String invoiceUrl) {
        this.invoiceUrl = invoiceUrl;
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}
